﻿using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace CPTECH.Business
{
    class RegisterBO
    {
        private static RegisterBO instance;

        private RegisterBO() { }

        public static RegisterBO getInstance()
        {
            if (instance == null)
            {
                instance = new RegisterBO();
            }
            return instance;
        }

        //Efetua registro de Inclusão.
        public void registerInclude(string serial)
        {
            //DD-MM-YYYY:USUARIO:PROJETO:INCLUIR-PATRIMONIO-SERIAL=XXXXXXXX
            string date = DateTime.Now.ToString("dd-MM-yyy");
            string user = FisicoBO.getInstance().idPalm.ToUpper();
            string projeto = FisicoBO.getInstance().os;

            StreamWriter fic = File.AppendText((System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\LFileTech.zip"));
            fic.WriteLine(date+":"+user+":"+projeto+":INCLUIR-PATRIMONIO-SERIAL="+serial);
            fic.Close();
        }

        //Efetua registro de ALTERAÇÃO.
        public void registerUpdate(string serial)
        {
            //DD-MM-YYYY:USUARIO:PROJETO:INCLUIR-PATRIMONIO-SERIAL=XXXXXXXX
            string date = (DateTime.Now.ToString("dd-MM-yyy"));
            string user = FisicoBO.getInstance().idPalm.ToUpper();
            string projeto = FisicoBO.getInstance().os;

            StreamWriter Reg = File.AppendText((System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\LFileTech.zip"));
            Reg.WriteLine(date + ":" + user + ":" + projeto + ":ALTERAR-PATRIMONIO-SERIAL=" + serial);
            Reg.Close();
        }

        //Efetua registro de REVISÃO.
        public void registerRevisao(string serial)
        {
            //DD-MM-YYYY:USUARIO:PROJETO:INCLUIR-PATRIMONIO-SERIAL=XXXXXXXX
            string date = (DateTime.Now.ToString("dd-MM-yyy"));
            string user = FisicoBO.getInstance().idPalm.ToUpper();
            string projeto = FisicoBO.getInstance().os;

            StreamWriter fic = File.AppendText((System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\LFileTech.zip"));
            fic.WriteLine(date + ":" + user + ":" + projeto + ":REVISAR-PATRIMONIO-SERIAL=" + serial);
            fic.Close();
        }

        //Efetua registro de EXCLUSÃO.
        public void registerDelete(string serial)
        {
            //DD-MM-YYYY:USUARIO:PROJETO:INCLUIR-PATRIMONIO-SERIAL=XXXXXXXX
            string date = (DateTime.Now.ToString("dd-MM-yyy"));
            string user = FisicoBO.getInstance().idPalm.ToUpper();
            string projeto = FisicoBO.getInstance().os;

            StreamWriter Reg = File.AppendText((System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\LFileTech.zip"));
            Reg.WriteLine(date + ":" + user + ":" + projeto + ":EXCLUIR-PATRIMONIO-SERIAL=" + serial);
            Reg.Close();
        }

        public void registerGeraLote()
        {
            //DD-MM-YYYY:USUARIO:PROJETO:GERARLOTE
            string date = (DateTime.Now.ToString("dd-MM-yyy"));
            string user = FisicoBO.getInstance().idPalm.ToUpper();
            string projeto = FisicoBO.getInstance().os;

            StreamWriter Reg = File.AppendText((System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\LFileTech.zip"));
            Reg.WriteLine(date + ":" + user + ":" + projeto + ":GERARLOTE");
            Reg.Close();
        }
    }
}
